package com.yss.reportworld.service;

import com.yss.common.core.domain.MindTreeNode;
import com.yss.reportworld.domain.DataMap;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 报表世界数据地图Service接口
 *
 * @author yss
 * @date 2023-05-25
 */
public interface IDataMapService extends IService<DataMap> {

    /**
     * 查询报表世界数据地图列表
     *
     * @param dataMap 报表世界数据地图
     * @return 报表世界数据地图集合
     */
    public List<DataMap> selectDataMapList(DataMap dataMap);

    /**
     * 校验是否已存在数据
     *
     * @param dataMap
     * @return 结果
     */
    public boolean checkDataMapUnique(DataMap dataMap);

    /**
     * 递归获取一个表依赖的所有表信息
     *
     * @param tableName
     * @return
     */
    public List<MindTreeNode> querMindTreeNode(String tableName);

    /**
     * 从项目管理计划文件中读取当前版本的需求
     *
     * @param multipartfile
     * @return
     */
    public String readDatamapInfo(MultipartFile multipartfile, boolean updateSupport);



    /**
     * 根据结果集和ETL采集获取表关联关系
     *
     * @return
     */
    public String getDatamapInfoBySql(String hisVersion);
}
